1. Field of the Invention
The present invention relates to a message distribution method for distributing a message communicated by plural software products to be distributed through a network; an agent used in a multiple agent system; and a program storage medium for storing a program for realizing the agent. Specifically, it relates to a message distribution method capable of realizing an efficiently distributed intelligent environment; an agent capable of realizing the efficiently distributed intelligent environment; and a program storage medium for storing a program used to realize the agent.
2. Description of the Related Art
An agent system is based on an autonomous software technology and links software products using a common language (for example, an ACL (agent communications language)) so that the computer system can prompt the user for a request and assemble operations. With the growing popularity of Internet, it is expected that various agent processes can be realized by integrally processing information distributed through Internet.
However, to link software products in the agent system, an agent for providing a service in response to a request from a requester can be exactly located. Furthermore, the ACL only defines the grammar of a message, but does not define any word indicating the contents of the message. Therefore, the function of translating a word system is also required.
A multiple agent system basically includes an information requester agent and an information provider agent. Conventionally, there has been an intermediary agent provided between the above described agents, and assigned the function of selecting an agent for providing a service in response to a request from a requester, and the translation function to absorb the difference in word system among agents (referred to as xe2x80x98ontologyxe2x80x99). The intermediary agent has also been assigned the function of integrating the answers transmitted from a plurality of information provider agents.
The Inventor of the present invention has filed an application for a patent of a virtual catalog system capable of displaying catalog information such as product information and service information to be distributed through a network as if it were a single set of catalog information, and also has published the virtual catalog system at the meetings of technological societies. In the agent system of this virtual catalog system, an intermediary agent is provided between a user agent (for connecting the agent system with a browser) and a database agent (for connecting the agent system with a database) as shown in FIG. 1. The intermediary agent is assigned the function of selecting a database agent for managing catalog information required by the user agent, and also the translation function to absorb the difference in word system among agents. The intermediary agent is also assigned the function of integrating the answers transmitted from a plurality of database agents.
That is, in the virtual catalog system shown in FIG. 1, the database agent advertises the ability of the virtual knowledge base obtained by abstracting the database for the intermediary agent. As a result, the database agent outputs information about the category which can be processed by the virtual knowledge base, the ontology used in the virtual knowledge base, etc.
With the above described configuration, when the user issues a retrieval request through a browser, the user agent converts the retrieval request into an ACL message and transmits the converted message to the intermediary agent. Upon receipt of the message, the intermediary agent selects from the received advertising information the database agent which can process the ACL message, translates the word in the ACL message into the word which can be processed by the selected database agent, and then transmits the ACL message to the database agent.
Upon receipt of the ACL message, the database agent generates an SQL (structured query language) command from the ACL message, searches the database, assembles the search results as an ACL message, and transmits the obtained result to the intermediary agent. Upon receipt of the ACL message obtained as the search result, the intermediary agent integrates the answers, that is, the search results, transmitted from a plurality of database agents as a single message, and transmits it to the user agent.
Thus, the virtual catalog disclosed by the Inventor of the present invention realizes catalog information such as product information and service information to be distributed through a network as if it were a single set of catalog information. For the realization, an intermediary agent is provided between a user agent and a database agent. The intermediary agent is assigned the function of selecting a database agent for managing catalog information required by the user agent, and also the translation function to absorb the difference in word system among agents. The intermediary agent is also assigned the function of integrating the answers transmitted from a plurality of database agents.
Certainly, it is a considerably effective method to design the multiple agent system by providing an intermediary agent for performing an intermediary process between agents, and allowing the intermediary agent to have the function of selecting an agent for providing a service in response to a request from a requester, the translation function to absorb the difference in word system between agents, and the function of integrating answer results.
However, with the above described configuration, the following problem occurs.
That is, all functions such as the function of selecting an agent, translating a message for communications among selected agents, integrating a plurality of answer messages, etc. are concentrated on the intermediary agent. Therefore, the load of the intermediary agent becomes large, and a large volume of communications are established among the agents with a poor response.
Furthermore, a message is always passed through the intermediary agent even if it is not necessary to use the intermediary agent. For example, when it is not necessary to integrate answer messages, the messages have to pass through the intermediary agent. This refers to a wasteful system.
To solve the problem, a plurality of functions of the intermediary agent are divided to be assigned to different agents. For example, as shown in FIG. 2, the function of translating a message and the function of selecting an agent can be processed through an agent other than the intermediary agent.
However, in this method, an operation of xe2x80x98selecting an object agent and transmitting a message to the agentxe2x80x99 is performed. Therefore, it is necessary to request an agent having the function of selecting an agent to select an agent to be accessed, request an agent having the function of translating a message to translate a message, and then transmitting the translated message to the agent which selected the agent. Thus, the operation cannot be performed in one step when it is performed by a plurality of agents.
The intermediary agent for managing each of the functions should communicate several times with a representative intermediary agent, thereby increasing the frequency of communications.
The present invention has been developed based on the above described background, and aims at providing a message distribution method capable of realizing an efficiently distributed intelligent environment; an agent capable of realizing the efficiently distributed intelligent environment; and a program storage medium for storing a program used to realize the agent.
An agent used in a multiple-agent system according to the present invention includes a generation unit for generating a service list defined by a combination of process information specified by a message and destination information about the message; and a transmission unit for adding the service list to the message and transmitting the message to another agent.
An agent according to the present invention includes a reception unit for receiving a message transmitted from another agent; an extraction unit for extracting a service list which is added to the message received by the reception unit, and is defined by a combination of destination information about the message and process information specified by the message; a detail unit for detailing the service list extracted by the extraction unit according to the knowledge about an agent for performing a process; and a transmission unit for adding the detailed service list to the message and transmitting the message to another agent.
A further agent according to the present invention includes a reception unit for receiving a message transmitted from another agent; an extraction unit for extracting a service list which is added to the message received by the reception unit, and is defined by a combination of data of destination information about the message and process information specifying a process to be performed; an execution unit for executing the process specified by process information corresponding to the destination information when leading destination information in the service list extracted from the extraction unit specifies a present agent; a deletion unit for deleting the combination of the data of the service list relating to the process to be executed by the execution unit: and a transmission unit for adding a service list from which the combination of the data has been deleted to a message of an execution result from the execution unit, and transmitting the message to another agent.
For example, in a multiple-agent system in which each of the above described agents is used, a service list is generated according to a process request message from a user, and the service list is added to the message and transmitted to the second agent. The second agent details the received service list based on the knowledge about an agent for performing a process, generates a service list in a description format at a detail level at which the concrete contents of a process, the position where the process is performed, etc. are defined, and transmits the service list to the third agent. The third agent performs a process specified by the leading process information in the received service list, deletes the combination of data relating to the performed process from the service list, and transmits the service list to another agent.
As described above, according to the present invention, a process to be performed and the information specifying an agent for performing the process are added as a service list to a message, and the message is sequentially transmitted to agents, and each of the agents performs the process. Thus, the amount of messages communicated between specific agents can be reduced, thereby preventing the efficiency of the processes in the entire system from being deteriorated. Furthermore, since a message is not distributed through an agent which is not directly involved in the process. As a result, the distribution route of a message is not wasted.